In a tree network topology, network nodes are hierarchically organized into a series of levels. One or more core devices reside at the top level of the hierarchy, and, several host devices typically reside at the lowest level of the hierarchy. A fat tree network is a network in which bandwidth is allocated among the levels of a tree topology such that devices at higher levels in the tree have access to greater amounts of bandwidth for data transmission through the network. Multiple cores may be used to emulate “fat” links at the higher levels of a fat tree network, thus creating multiple paths between hosts. By having multiple paths between host devices, more bandwidth may be available between the host devices.
In spite of the potential bandwidth advantages associated with a multi-core fat tree topology, it is a challenge to route data over such a network in a cost-effective way that exploits these advantages. Specialized network structures such as fat-tree structures typically require more expensive networking equipment. Often times, these pieces of equipment must be designed specifically for their intended placement in a network structure. Other pieces of network equipment may require extensive configuration to perform the operations required of them based on their position within the network structure.
Throughout the drawings, identical reference numbers designate similar, but not necessarily identical, elements.